#include "OnlineUser.h"

OnlineUser *OnlineUser::globalInstance = new OnlineUser();

OnlineUser::OnlineUser()
{
}

OnlineUser::~OnlineUser()
{
}

void OnlineUser::addOnlineUser(struct st_onlineUser user)
{
    m_mutex.lock(); // 加锁
    online_user.push_back(user);
    m_mutex.unlock(); // 解锁
}

void OnlineUser::deleteOnlineUser(int uid)
{
    m_mutex.lock(); // 加锁
    for (auto it = online_user.begin(); it != online_user.end(); it++)
    {
        if (it->dd_num == uid)
        {
            online_user.erase(it);
            break;
        }
    }
    m_mutex.unlock(); // 解锁
}

struct bufferevent *OnlineUser::judgeUserOnline(int uid)
{
    for (auto it = online_user.begin(); it != online_user.end(); it++)
    {
        if (it->dd_num == uid)
            return it->bev;
    }
    return nullptr;
}
